package edos.prm.metrics;

/**
 * A {@code MetricExpression} is a process specific measure that is assigned to
 * a {@code Metric}.
 * 
 * @version 1.0
 */
public interface MetricExpression {

	/**
	 * Gives the numerical value of this metric, i.e., the measure it holds.
	 * 
	 * @return the number value of this metric.
	 */
	public Number getMeasure();

	/**
	 * Evaluate the metric.
	 * <p>
	 * The value of the metric is consulted using the {@code getMeasure}
	 * method.
	 * 
	 * @param args objects passed from environment to the expression
	 */
	public void evaluate(Object...args);
}
